package edu.nf.vrs.vaccination.dao;

import edu.nf.vrs.vaccination.entity.NeedleNum;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * Author: @Wai
 * Date: 2022-3-30
 */
public interface NeedleNumDao {
    /**
     * 查询针次列表
     * @param needleNum
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<NeedleNum> listNeedleNum(@Param("needleNum")NeedleNum needleNum,
                                  @Param("pageNum")Integer pageNum,
                                  @Param("pageSize")Integer pageSize);


    /**
     * 添加针次
     */
    void saveNeedleNum(NeedleNum needleNum);

    /**
     * 检查当前日期的针次是否存在
     * @param needleNum
     * @return
     */
    Integer checkNeedleNum(NeedleNum needleNum);

    /**
     * 更新针次的疫苗总数
     * @param needleNum
     */
    void updateVaccine(NeedleNum needleNum);

    /**
     * 根据日期修改针次状态
     */
    void updateVaccineStatus(Date date);

    /**
     * 疫苗总量减一
     * @param needleNumId
     */
    void decrTotal(Integer needleNumId);

    /**
     * 依据不同针次ID查询针次信息
     * @param id
     * @return
     */
    List<NeedleNum> listNeedleNumById(Integer[] id);

}
